Graphical keyboard operated display device

ABSTRACT

Graphical display apparatus in which an operator can display on a cathode ray tube (CRT) screen in real time graphical images by operating a graphical keyboard. The graphical keyboard has keys which are designated by differently sloped ones of a group of incremental line segments. The graphical keyboard can be employed in a display system which also includes an alphanumeric keyboard.

United States Patent 1 3,731,299 Bouchard et al. May 1, 1973 54 GRAPHICAL KEYBOARD OPERATED 3,569,951 3 1971 Lavenir ..340/324 A PL DEVICE 3,505,665 4/1970 Lasoff et al... ..340/324 A 3,582,936 6/l97l Kite et al. ..340/324 A [75] Inventors: Richard J. Bouchard, Amherst,

NH; William Sflndm, Pale Primary ExaminerJohn w. Caldwell Alto h Assistant Examiner-Marshall M. Curtis [73] Assignee: Sanders Associates, Inc., South Attorney-Louis Eflnger Washua, NH.

[57] ABSTRACT 22 Filed: Oct. 2, 1970 Graphical display apparatus in which an operator can [2|] 77,490 display on a cathode ray tube (CRT) screen in real time graphical images by operating a graphical [52] U.S. Cl. ..340/324 A, 35/18, 340/365 y d T g phical keyboard has keys which are [51] Int. Cl. ..G06i 3/14 designated y differently sloped ones of a group of in- [58] Field of Search ..340/324 A; 365; crememal lin gments. The graphical keyboard can 315/18; 235/197, 198 be employed in a display system which also includes an alphanumeric keyboard. 5 t 6] References CI ed 11 Claims, 6 Drawing Figures UNITED STATES PATENTS 3,597,757 8/l97l Vincent-Carrefour et al, ..340/324 A llb d l l GRAPHICS A/ N K B K B COMPUTER CLOCK '28 ED. a MEM. CONT. I

r220 I 2I ADD UNIT Q WRITE UNIT REFRESH DATA 31 READ UNIT MEMORY REG.

Patented May 1, 1973 5 Sheets-Sheet 1 5% m NC m U N O w B A v S R R D M mm M H L, D l H R W M A T TORNE Y Patented May 1, 1973 Ilb 5 Sheets-Sheet 2 I ,23 GRAPHICS A/N 2 KB KB COMPUTER CLOCK '28- 2I l .i ED. a MEM. CONT.

[22 I 2I ADD UNIT iff WRITE UNIT REFRESH DATA 22d READ UNIT MEMORY REG.

24 25 26 Unb 3 DISPLAY X CIRCUITS I27] },I2 I2 I ),I5 ),I4 L5 I6) I I I I I |7- sL PE ENCODER R FF 0 's OFF 6R I9 FF KBI K52 K83 K84 K85 K86 K87 HIDDEN LINE CONTROL (FROM MODE FF FIG. 5)

GRAPHICS ENCODED SIGNALS TO CONTROL UNIT FIG. 2)

FIG. 5

LEAD TO DISPLAY CIRCUITS, FIG.2

/N VE N TORS RICHARD J. BOUCHARD WILLIAM R. SANDERS Patented May 1, 1973 3,731,299

5 Sheets-Sheet 3 A/N l I I j] l UNBLANK DATA STREAM SYNCH POSITION CODE SYNC\H v S VECTOR TRACE Z UNIT) I HI III L I I I I T I I l I l l I EE 'QE VECTOR TRACE I UNIT) RICHARD I. BOUCHARD WILLIAM R. SANDERS ATTORNEY Patented May 1, 1973 5 Sheets-Sheet 4 TI T2! PROCESSOR DRAW VECTOR DRAW Y x a Y COUNTERS D A CONVERTERS I RESET' H x a Y RAMP 2 Y Y GEN.

T6 T2! RACETRACK A/N GEN.)

25 FROM REFRESH MEMORY BUFFER REG. L

TO CONTROL V UNIT A/N CODE MODE DECODER 3| 29 JH M P08. 8 VECTOR REG. POS.8| I VECTOR SLOPE ga 8 DECODER VECTOR DRAW INVENTORS RlCHARD J. BOUCHARD. WILLIAM R. SANDERS W/e W A T TORNE Y Patented May 1, 1973 3,731,299

5 sheets-sheet s;

CRT

BLINK CTR.

SHAPER VECTOR DRAW 3 DECODER T RICHARD J. BOUCHARD WILLIAM R. SANDERS KM/e MM A T TORNE) GRAPHIC AL KEYBOARD OPERATED DISPLAY DEVICE BACKGROUND OF THE INVENTION It is known to control the display of alphanumeric 1 characters in real time on a display screen, such as the screen of a cathode ray tube (CRT), by means of keyboard entry devices. For example, U.S. Pat. No. 3,501.746 to Michael K. Vosbury discloses an alphanumeric character type display which can be controlled by operation of a keyboard to not only display characters but also to perform various editing operations so as to modify the displayed data. The editing may take the form of insertion or deletion of various displayed characters, changes in location of selected characters or groups of characters. Thus, displayed textual data may be modified for correction or updating purposes. As pointed out in the Vosbury patent, this editing feature is useful for correcting errors made by a keyboard operator at a data entry point as well as to correct or update data stored in a digital information system. Another useful editing feature described in the Vosbury patent is the use of a pair of delimiting character" codes to protect alphanumeric codes'which are located between the delimiting codes from alteration by the keyboard operatonThis guarded or protected data feature is useful in overlay applications in which, by way of example, the data format of a standard form is protected by the delimiting codes.

It is also known to display graphics on a display screen. In one known system, a keyboard operator enters a graphical pattern'in a computer system by specifying it in equation form as one variable being equal to a function of another. The computer system then formats the entered function into a sequence of line segment codes. The operator must then request display of the function on a display screen associated with his keyboard. The function then appears on the screen as a strung together sequence of the line segments. One of the advantages of this system is that the line segment codes can be prepared in formats which are compatible with alphanumeric codes. This type of graphical display apparatus finds limited use since it required a painstaking entry of the graphical pattern in alphanumeric text, requiring special knowledge and skill of the operator. I

In a further type of graphical display, graphics may be generated in real time on the display screen by use of either the alphanumeric keyboard or by use ofa light responsive device. This type of display system generally requires point-to-point vector or line drawing and therefore requires more bits in the code to describe a vector. Thus, each vector requires four codes to describe its end points, two codes for the coordinates of each end point. This, of course, requires substantial hardware which, though justified where accuracy is desired, is hardly justified in cases where accuracy is not critical.

BRIEF SUMMARY OF INVENTION An object of the present invention is to provide novel and improved graphical display apparatus.

Another object of the invention is to provide display apparatus in which either graphics and/or alphanumerics can be entered onto a display screen in real time.

Still another object is to provide a novel and relatively inexpensive graphical display in which a relatively unskilled operator may create graphical images on the display screen in real time.

Yet another object is to provide a novel graphical display in which a graphical keyboard is employed to enter incremental line segments for display upon a display surface.

Graphical display apparatus embodying the invention includes a keyboard having keys labeled with differently sloped incremental vectors or line segments. Actuation of the keyboard keys provides codes indicative of the slopes (directions) of the corresponding vectors to a display tracer. The display tracer responds to the codes to trace a pattern upon the display screen which consists of a strung together sequence of the incremental straight line segments or vectors.

In a preferred embodiment, the display screen is the screen of a cathode ray tube and the tracer comprises the cathode ray tube deflection coils, intensity control and associated display circuits. The codes are coupled from the keyboard by way of a refresh memory and editing control therefor to the display circuits which develop X and Y deflection voltages and an intensity control signal for the cathode ray tube.

According to one feature of the invention, a cursor is employed to indicate the memory storage location where the next incoming code will be stored. The display circuits respond to the addressing of the cursor indicated storage location to visibly display a cursor marker on the screen. As each vector key is actuated, the display circuits display the cursor marker at a screen location which is displaced from its most previous screen location in a direction corresponding to the vector slope of the actuated key.

In a further aspect of the invention, the keyboard includes means for conditioning the display circuits to displace the cursor marker on the CRT screen in response to each actuated vectorkey without visibly tracing the vectors associated with the actuated keys.

BRIEF DESCRIPTION OF THE DRAWING In the accompanying drawings like reference characters denote like structural elements; and

FIG. 1 is a perspective view of a display console and graphics keyboard apparatus embodying the invention;

FIG. 2 is a block diagram of display apparatus embodying the invention;

FIG. 3 is a block diagram illustrating the encoding mechanism for the graphics keyboard;

FIG. 4 is a timing diagram illustrating the display timing cycle employed by the illustrated embodiment;

FIG. 5 is a block diagram of the display circuits embodying graphical display apparatus of the invention; and

FIG. 6 is a block diagram in part and a logic diagram in part of the unblank control mechanism of the FIG. 5 display circuits.

DESCRIPTION OF PREFERRED EMBODIMENT It is contemplated that graphical display apparatus embodying the invention may be employed in any suitable display system in which a tracing means is employed to trace an image on a display surface. However, by way of example, the invention is herein illustrated as embodied in a cathode ray tube (CRT) display system design which incorporates many of the features described in the aforementioned Vosbury patent.

Referring now to FIG. 1 there is shown a display console having a CRT dispiay surface and keyboard entry means illustrated as a alphanumeric keyboard unit 11a and a graphical keyboard unit 1 lb. Each of the keyboard units includes encoding devices which respond to the actuation of the keys to provide coded binary signal or bit patterns to an editing and memory control unit 22 via an OR network 21 as shown in FIG. 2. The editing and memory control unit, for example, may be similar to the one described in the aforementioned Vosbury patent. The control unit 22 includes an IIO section (not shown) which receives the incoming codes from the keyboard units as well as controls the incoming and outgoing codes to an information storage device, shown as a computer 23. The control unit [[0 section, thus, performs the customary handshaking routines of handling data requests. Since disclosure of these routines are unnecessary to an understanding of this invention, they are not illustrated herein and will be omitted from the following description.

The editing and control unit 22 is shown to include an addressing unit 22a for addressing the storage locations of a refresh memory 24 on a refresh basis. Control unit 22 also includes a write section 22b which.

responds to the incoming codes from the keyboard units to write them into those addressed storage loca tions which are indicated or pointed to by a cursor indic'ator 220. That is, an incoming code is written into a storage location which is indicated by the cursor when such cursor indicated location is addressed. The cursor indicator may take any of several forms as, for example, a cursor counter (not shown), the contents of which point to the memory storage location where the incoming code is to be stored. As each incoming code is stored, the cursor counter value would then be changed so as to point to another storage location. On

the other hand, the cursor indicator could be a unique code which occupies a storage location indicative of the location where the next incoming code will be stored. As each incoming code is stored in the cursor indicated location the cursor code is then stored in another storage location. This latter type of cursor indicator is assumed to be employed in the illustrated embodiment. The cursor indicator 220 then includes the circuitry in the control unit 22 which enables the write section 22c to write an incoming code in the storage location occupied by the cursor code.

The control unit 22 further includes a read unit 22d which reads the addressed storage locations so as to present the stored codes to a data register 25. The data register 25 is shown as connected in a loop with the control unit and memory such as would be the case in a recirculating memory of the type mentioned in the Vosbury patent. The codes in the data register 25 are interpreted by'the display circuits 26 which provide the X and Y deflectionsignals and the unblank or intensity control signal to CRT 27 so as to modulate the intensity 26 also respond to-the addressing of the cursor indicated storage location tovisibly display a cursor marker on the CRT screen 10 so as to give a visual indication of where the next entered vector or alphanumeric character will be displayed. 1 1 The control unit 22 includes many of the editing fea tures discussed in the Vosbury patent, such as insertion or deletion of various displayed characters and changes in location of selected characters or groups of characters. Some of the control codes, which control these operations as well as others, can be inserted into the stored code sequence from the alphanumeric keyboard unit Ila. Thus, in FIG. 1 keyboard unit 1 1a is shown to have keys labeled vt (vertical tab), in (horizontal tab), or (carriage return) and it (home). The home code always signals the display circuits to return the visible cursor from its current location to the upper left hand corner of the screen 10.

Referring again to FIG. 1, the graphical keyboard 1 lb includes a set of incremental line segment keys 12, each of which is associated with or labeled by differently sloped ones of a set of line segments. In the indicia design shown in FIG. 1, the keys 12 are not themselves actually labeled but are located adjacent the outside points of the line segments set which is arranged in a star type pattern. It will be appreciated that other indicia layouts may be employed in other embodiments of the invention. Although any number of line segment direction or slopes may be employed, only sixteen such slopes are used in the illustrated design. I

To create a desired image the keyboard operator merely depresses the keys 12 in a desired sequential pattern. As each key 12 is depressedthe display circuits respond to trace a line segment of corresponding direction on the CRT screen I0 and to trace a cursor marker at the end point thereof. As the next selected key 12 is depressed the display circuits trace another incremental line from the end point of the previously traced line segment and trace the cursor marker at the end point thereof, andso on. Thus, as each vector key is depressed, the cursor marker is displayed at a screen location which is displaced from its most previous screen location in a direction corresponding to the slope of the associated vector key.

The use of 16 slopes (or less) is desirable since th different slopes can be encoded with only four binary bit positions. If two other bit positions are employed for segment length and unblank (visible), the resulting six bit total is compatible with the seven bit ASCII code which is frequently employed 7, by alphanumeric keyboard encoding units. Consequently, the line segment or vector codes can be processed by the same display circuits which are used to process the alphanumeric codes. In FIG. 3, the graphical keyboard is shown to provide in response actuation of its keys a seven bit code on signal leads KBI-KBI. A slope encoder 17 responds to the actuation of the keys 12 to provide the four least significant bits indicative of a vector slope on leads KBl-KB4. The bit position KBS and K136 are employed to denote line segment or vector visibility (unblank) and vector length respectively. The seventh bit (lead [(87) is always the complement of bit six'so as to define the set of vector codes. Y

.Vector length in the illustrated embodiment iscontrolled by means of graphical 'key 13a and associated upon each closure or depression thereof. The Q output of the flip-flop 18 is employed to determine the bit value of bit position KB6 as well as to control the driving power for the signal lamp circuit 13b. For instance, if lamp 13b is turned on, the Q output of flip-flop 18 is high and the KB6 bit position would have a bit value of 1. This condition corresponds to a vector of 2 units. For the other condition where the Q output of flip-flop 18 is a 0, the lamp 13b is turned off and the vector length will be interpreted as one unit.

Vector visibility is also controllable by the keyboard operator by means of a vector visibility key 14a and indicated by an associated signaling lamp 14b. As shown in FIG. 3 the vector visibility function employs circuitry which is similar to that employed for the vector length function. In this case, however, a flip-flop 19 is triggered by the vector visible switch 14a and its Q output is coupled to the bit position KB6 as well as to the driving circuits for the signal lamp 14b. For the condition where signal lamp 14b is turned on, the vector trace will be visible. When the lamp 14b is turned off, the vector trace will be invisible. The use of invisible vectors is important for the gross positioning of the CRT beam as well as for the hidden lines feature of the invention. In gross positioning the CRT beam may be moved from one location on the screen to another with the beam blanked or turned off. The hidden lines feature which is useful to construct three dimensional views, such as the cube shown on the display screen 10, is controllable by a hidden lines key 16 on keyboard 11b. Depression of key 16 causes a flip-flop 20 to toggle and provide a signal level on its Q output. The signalling level is coupled to the CRT display circuits so as to cause all vectors traced as invisible vectors to be displayed as dashed lines. Accordingly, the keyboard operator could view the cube either with or without its hidden lines by merely operating the key 16. g The graphical keyboard 11b also includes another control key a, designated as Mode, and associated lamp 15b designated as Vector. The purpose of this key and associated lamp is to control the operating mode of the display system between an alphanumeric mode and a vector mode. When the lamp 15b is on, the display circuits interpret the inputted ASCII codes as vector codes so as to trace a graphics pattern. On the other hand when the lamp 15b is turned off, the inputted ASCI 1 codes are interpreted as alphanumeric codes so as to trace alphanumeric symbols upon the CRT screen.

The principle of the mode control is as follows. All the character codes to be displayed are stored in the refresh memory of the display system. The display circuits respond to the characters as they are read out of the refresh memory to trace a corresponding symbol upon the CRT screen. When a mode control character is encountered in the read out sequence, the display circuits respond thereto to' change their interpretive mode for the next succeeding characters in the sequence. Thus, if the system is in an alphanumeric mode and a mode control character is detected, the system changes over to the vector mode. On the other hand if the system is in the vector mode and a mode control character is detected, the system switches over -to the alphanumeric mode. Thus, the display system changes from one to the other of the vector and alphanumeric modes whenever a mode control code is detected.

The mode control codes are entered into the display refresh memory by means of the aforementioned mode key 15a. To this end, key 15a is shown in FIG. 3 to couple V to the slope encoder 17 as well as to the reset R terminals of the flip-flops l8 and 19 so as to produce a unique code which is-indicative of a mode change. This unique code is responded to by the display circuits to provide mode control signal levels which are discussed later. Suffice it to say here that one of those mode signal levels V (Vector mode) is-operable to turn the driving circuits for lamp 15b on during the vector mode and off during the alphanumeric mode.

The mode control is also useful to switch from the vector mode to the alphanumeric mode for gross positioning when it is desired to use the hidden lines feature so that the gross position moves are not visible. In the alphanumeric mode, gross positioning can be achieved by use of horizontal tab (ht), vertical tab (vt), carriage return (or) and home (h). The use of the vertical tab, horizontal tab and carriage return functions to gross position the electron beam is self explanatory. As mentioned previously, the home character always returns the display cursor, and hence the electron beam, to the upper left hand corner of the CRT screen. In addition, the appearance of a home code in the stored code sequence is always interpreted by the display circuit in such a way as to cause the system to switch to the alpha-numeric mode, if in the vector mode. The remainder of these control codes and a null code are detected by the display circuits when in the vector modef b'ut are not responded to. For this reason, these codes-are hereinafter referred to as NO-OP codes when they appear during the vector mode.

Turning again to FIG. 2, the display systembperates under the control of a timing pulse distributorbr clock 28. Germane to the present invention is the timing cycle of the normal alphanumeric operating mode. This timing cycle is shown in the timing diagram of FIG. 4 to .be a 21 microsecond interval with timing pulses T1 through T2-l occurring during like numbered time slots. In order to save space on the drawing only three of these timing pulses T1, T2 and T3 are shown in FIG. 4. The remainder of the timing information shown in FIG. 4 will be discussed and referred to in the following description of the display circuits.

ble character generation scheme, the illustrated display circuits in FIG. 5 employ .the racetrack character generation technique. A character generator of this type is described in U.S. Pat. No. 3,423,636 to Bouchard, et al. In brief, a racetrack display apparatus has two subsystems which operatein synchronism with one and another. A deflection subsystem develops positioning voltages which move the CRT beam to a position on the screen wherethe next character is to be formed. Each time the beam arrives at a new position, the deflection subsystem develops a pair of deflection voltages for deflecting the beam to trace at that position a pattern having all the strokes required to form all the characters the system is capable of displaying. Simultaneously, an unblanking subsystem processes the incoming character code and develops a succession of unblanking signals timed to turn the beam on only when the deflection subsystem produces the voltages for tracing the stroke needed to form the identified character.

in FlG. an alphanumeric code processor 29 decodes the character codes contained in buffer register 30 so as to produce for each code at its output a data stream during the time slots Tl through T21. As shown in FIG. 4, this data stream consists of a synch bit during slot T1, a gross positioning code during slots T2 through T4, an unused slot T5 and the unblank data stream from slots T6 through T21. For the alphanumeric mode the data stream is gated via an AND gate 33 and OR gate 35 to a data bus 36. For this gating, the AND gate 33 is enabled only during the alphanumeric mode by the A/N control level.

During time slots T2 through T8, the bits in like numbered time slots are gated into a position and vector register 37. When register 37 has received the bits in slots T2 through T4,, the position code is decoded by a decoder 38. The output of decoder 38 is then applied to a gross positioning device 39. The gross positioning device 39 includes X and Y counters which respond to the position. code to change their respective count values to the character space row (x) and column (Y) at which the current character is to be traced. Not shown separately but included in the gross positioning device 39 are digital to analog converters which conthe condition of the A/N and V control levels. AND gate 33 becomes disabled and AND gate 34 becomes enabled to pass the character codes contained in data register 25 to the data bus 36 during the time slots Tl vert the count of digital outputs to X and Y analog gross deflection signals. The X and Y gross deflection signals are applied to the CRT X and Y deflection. coils via summation amplifiers 40 and 41, respectively, to deflect the beam to the designated character space.

During the interval from T6 to T21 a racetrack generator 42 provides to an X and Y ramp generator 43 over 6 leads a sequence of digital numbers (groups of digital signals). This sequence of digital numbers causes the ramp generator 43 to produce a pattern of X and Y deflection voltages having all the strokes required to form all the characters the system is capable of displaying. These X and Y voltages are summed in summing amplifiers 40 and 41 with the gross positioning deflection signals and then applied to the CRT deflection coils.

Simultaneously with the generation of the racetrack pattern during the interval T6 through T21, the unblank data stream is passed from the data bus 36 via an unblank control 44 to unblank (or make visible) only those ones of the racetrack strokes which are required to form the currently designated character. The alphanumeric operating mode continues for successive character codes during successive 21 microsecond intervals.

. Whenever a mode character is encountered by mode decoder 31, the mode flip-flop 31 changes its state and T8 via OR gate 35.

Before discussing the operation during vector mode, the operation during the cycle when the mode character is detected deserves some attention. The mode flip-flop 32 is shown to change its state during a time slot T5 so as to prevent the gating of the unblank data stream from processor 29 to the data bus 36. The mode control level V at register 37 prevents decoder 38 and counters 39 from responding to the position bits which were loaded into the position register 37 during time slots T2 through T4. Thus, in the illustrated embodiment the mode flip-flop 32 is assumed to control all of the illustrated functional blocks. However, this need not be the case. For example, if the register 37, unblank control 44 and other display circuits are located some distance away from the processor 29, it might be necessary to detect the mode of change not only at the output of the buffer register 30 but also at the display circuits themselves. One way of doing this is for the mode decoder 31 to provide a decoded mode signal to the processor 29. The processor 29 would respond to such a mode signal to insert a 1 bit in time slot 5 of the data stream. The data stream would then, as in the normal alphanumeric mode, be gated on to the data bus 36. Another mode decoder would then be located with the display circuits and arranged to detect the presence of a 1 bit in bit position 5 of the position register 37. A detected 1 bit in time slot 5 would be responded to so as to inhibit the operation of all the functional block in the display circuits for the remainder of the current timing cycle. For this type of arrangement, the mode flip-flop 32 at the location of processor 29 and decoder 31 would not be clocked until a later time in the 21 microsecond cycle.

Turning now to the vector mode, the vector code is gated onto the data bus 36 during time slot T1 T8 as discussed previously. During time slots T2 through T8 the vector code is gated into the position and vector r'egister 37. The vector slope bits are decoded by decoder 38 and applied over eight control leads to the X and Y ramp generators 43.

In the vector mode, the ramp generators 43 are normally held in a discharged condition and are enabled to respond to the vector slope information only during a vector trace interval. in FIG. 4 the vector tracing interval is shown to occur during time slots T1 1 and T12, for a vector of one unit length, and also during time slots T17 and T18 for a vector of two units length. in any event, a Vector Draw signal is shown to be applied to ramp generator 43 so as to enable it to respond to the vector slope information and provide at its output X counters 39 are changed in count value to hold the beam at the new CRT screen location (the end point of the just traced unit vector). To effect the'foregoing operation, the slope information from decoder 38 is shown in FIG. to be further applied to the gross positioning counter 39 which also receives the Vector Draw signal.

Referring to FIG. 6, the unblank control 44 will be described. A video circuit 45 processes the unblank signals received from an OR network 46 to provide an intensity control signal to the CRT. The OR network 46 serves to combine the 'unblank signals from the various operating modes to produce an unblank signal over a single lead to the video circuit 45. Thus, in the alphanumeric mode the unblank data stream from data bus 36 (FIG. 5) is gated via AND gate 47 as one input to the OR gate network during time slots T6 through T21. In

'tered will be placed. In the illustrated embodiment, the

cursor is identified by the three higher order bits 5, 6 and 7 being ls. A decoder 49, which receives these three bits from the position and vector register 37 (FIG. 5) provides a cursor signal level C for the duration' of the current code interval. This C signal is em ployed to set a'cursor present flip-flop FF61. The 6 output of FF61 is employed to inhibit a vector trace for this code interval and the Q output sets a save the cursor flip-flop FF54. FF61 is then reset during time slot 21. However, FF54tsaves the cursor for the next ensuing code interval when it will be employed to enable a trace of a visible cursor marker. The decoder 49 also provides at its output the signal levels 5, and 6 for the duration of a current code interval. As pointed out previously, bit 5 is the unblank bit. When it has a 1 value, the current vector code will be unblanked orv made visible. Bit six is the length bit and its vvalues of 0 and 1 correspond to short and long vector lengths, respectively.

During each code interval, a Vector Draw signal is provided at least once, during time slots T11 and T12,

by means of OR gates 50 and 70. When the length bit 6 is a 1 an AND gate 51 is enabled to'further couple the timing signals T17 and T18 to the OR gate 50 so as to provide a second Vector Draw signal, the signals T17 and T18 being combined in an OR gate 71. Thus, Vector Draw is always a 1 during time slot T11 and T12 and is also a 1 during time slotTl7 and T18 when the length bit 6 is a l.

which is to be displayedor made visible (bit five equals 1), both the AND gates 48 and.-52 will be enabled -to pass the Vector Draw signal via OR gate 46 to the video circuits 45. The enabling of AND gate 48 ,will be discussed first. The enabling of AND gate 48 is controlled by the output of another AND gate 53. The AND gate 53 is controlled to a large extent by.the 6 output of save the cursor FF54 (flip-flop 54).= For the vector code only assumption, the Q output of FF54 will be a 1 which partially enables AND gate 53 via OR gate 55. The 6 output of FF54 is also applied via an OR gate 56 to partially enable an AND gate 57. The AND gate 57 is fully enabled by the unblank bit 5 which it receives via an OR gate 59. The output of AND gate 57 is then passed via an OR gate 58 to wholly enable AND gate 53. This, in turn, enables the vector mode AND gate 48.

Turning now to the four enabling inputs for AND gate 52, one of these inputs is the Vector mode signal level which is always a l for the Vector mode. The unblank bit 5 is also an enabling signal which is coupled to The Vector Draw signal is'coupledas one-input to an AND gate 52 the output of whichis coupled to the Vector mode AND gate '48. Whenever AND gate 52 is enabled by its other inputs, the Vector Draw signal will be passed to the Vector mode AND gate 48. It is convenient to first describe the operation of the FIG. 6 un- AND gate 52 by means of an OR gate 60. Another enabling input to AND gate 52 is the output 2 of the cursor present FF61. Since by assumption the current code is a Vector code the 6 output of FF61 is a 1 and partially enables the AND gate 52. The other enabling input to AND gate 52 is provided by an OR gate 63 which senses a l at the 6 output of a NO-OP flip-flop FF62. The NO-OP FF62 is set by a NO-OP signal only when the current code is a carriage return, vertical tab, horizontal tab, home or null character and'is reset at all other times. The 1NO-OP signal is provided by decoder 49 when it detects these NO-OP codes. Thus, the AND gate 52 is fully enabled by all of its inputs when the current code is a Vector code which isto be displayed as a visible vector. Thus, the Vector Draw signal will be passed by both of the AND gates 52 and 48 to the video circuit 45 yiaOR gate 46.

As pointed out previously, a cursor code sets FF61 which in turn inhibits 21c passage of the Vector Draw signal ,by means of its 0 output being coupled to AND gate 52. The F F61 is reset on time slot T21 such that its 6 output will partially enable AND gate 52.during the next code interval. Also during the next code interval, save the cursor FF54 has its 6 output coupledvia OR gates 60 and 63 to wholly enable AND gate 52 to pass the Vector Draw signal to AND gate 48. The AND gate 48, thus enabled by the Vector Draw signal, 'will respond according to what kind of code and/or operating mode prevails for the code interval following the cursor code, e.g., null or space, visible vector, invisible Null After Cursor Code I A null (all Os) may occur, for example, atthe end of the entire vector code sequence or of a portion thereof. In such case the cursor will occur during this code interval-as a blinking and chopped vector on the CRT screen. When a null code is encountered, the NO-OP FF62 is set by me ans of a NO-OP.control signal from decoder 49. The Q output of FF62 is then applied via an OR gate 67 to enable an AND gate 66F The AND gate .66 is arranged to pass a chopped version of the Vector Draw signal. To this end, the Vector Draw signal is shaped by a shaper 65 so as to compress v its pulse width to about two-thirds thev width of two consecutive time'slots. For instance, shaper 65 delays the leading edge of the Vector Draw signal for one third of the two time slot duration but does not delay the trailing edge. The output of shaper 65 is, then, a chopped Vector Draw signal and will be so referred to hereinafter. The chopped Vector Draw signal is passed by the enabled AND gate 66 via OR gate 58 to AND gate '53. The other input to AND gate 53 is gated on or enabled for three frames and then gated off for three frames of the refresh period by means of a blink counter '68 which is synchronized to the refresh memory control by means not shown. This blinking rate of one sixth the refresh 'rate is slow enough so that the chopped vector appears as a blinking vector on the CRT screen. The AND gate 53 then passes the chopped Vector Draw signal to the AND gate 48 when it is blinked by blink counter 68. The blinked and chopped unblank signal is, in turn, applied to the video circuit 45 via OR gate 46. The cursor is then displayed as a blinking and chopped vector when a null code succeeds a cursor code. The displayed cursor vector has a slope determined by its fourleast significant bits (all Os for a null code) which for one system design is a vertical vector.

Visible Vector Code After Cursor Code For this case, bit five l andthe visible vector will 52. However, his to be noted that if the cursor code were stepped through the hidden line code sequence, the vector preceded by the cursor would be displayed since FF54 would enable AND gate 52. Also for this case, HL and Ewan enable an AND gate 69 which will condition AND gate 53 to be gated on and off by the blink counter. Hence, where the cursor precedes a hidden vector with HL O or off, the hidden vectorappears as a full length blinking vector.

NO-OP Codes-Editing The NO-OP codes are useful for the purpose of formating an equivalent alphanumeric hard copy of the vector image. That is, the vector image can be converted to an alphanumeric equivalent by appropriately removing the Vector mode codes from the sequence.

lines. This group of character lines can then be saved be caused to blink as a full length vector. To this end,

AND gate 57 will be enabled via OR gate 59 and the 6 output of the NO-OP FF62 via OR gate 56. The output of AND gate 57 is then applied via OR gate 58 to enable the blinking AND gate 53 to thus cause the visible vector which succeeds the cursor code to blink.

Invisible Vector Code After Cursor Code would then remove the visible display of these lines.

Assume that the operator has depressed the hidden lines key 16 so that HL 0. Considering first the case of invisible vector codes in memory, bit five=0 An' AND gate 64 senses these conditions to enable AND gate 52 to pass the Vector Draw signal to AND gate 48.

v The output of AND gate 64 also is passed by OR gate 67 to enable AND gate 66 to pass the chopped Vector Draw signal via OR gate 58 to AND gate 53. For the case where the cursor does not precede the invisible vector code, the 6 output of save the cursor FF54 will enable AND gate 53 on a nonblinking basis so that the invisible vector will be displayed as a chopped vector. If the cursor did precede an invisible vector code, the vector defined by the invisible vector code will be blinked. So long as the hidden lines and vector invisible keys remain in this condition, the vector codes inserted will be displayed as dashed lines.

When the hidden lines key is subsequently depressed (HL 0), the hidden lines will not be displayed since AND gate 64 will not be enabled to enable AND gate for display at a future time as by teletype print-out or by a photograph of the CRT screen. In addition, by allowing the NO-OP codes to be a part of the vector code sequence, advantage can be taken of the alphanumeric editing features to delete or move portions of the vector code sequence (i.e., a portion of the graphical picture). Moreover, the CRT beam can be gross positioned by switching from the vector mode to the a cursor code, AND gate 52 will not be enabled and the Vector Draw signal will therefore not be passed. The beam then would remain blanked and at its present position. On the other hand, if the previous code had been a cursor code, AND gate 52 will be enabled by the Q output of the save the cursor FF54 byway of OR gate 60 and 63. The chopped Vector Draw signal would then be coupled via AND gate 66 and OR gate 58 to AND gate 53. As previously mentioned, the blink counter will then enable AND gate 53 (and hence AND gate 48) every other three frames so as to blink the cursor. This feature then gives a visual indication to the graphical display operator that a NO-OP code is in the stored code sequence. To distinguish between NO OF codes, each is traced as different ones of the vector slopes by interpreting the least four significant bits of the NO-OP code as a vector code as previously pointed out for the null code.

There has thus been described graphical display apparatus in which an operator can generate graphical images on a CRT screen in real time. It is apparent that the logic diagram schemes shown throughout the drawings are illustrative of one embodiment and that other designs and schemes may be employed. In addition, the logic schemes may also be implemented by means of a sequence of instructions in a stored program computer apparatus. That is, the display circuits may be implemented in stored .program computer apparatus, as well as, in hard wired logic.

What is claimed is:

1. Keyboard operated display apparatus in which an operator causes the displacement of a visible cursor marker on a cathode ray tube screen by actuating the keyboard keys in a selected sequence so as to form a pattern on the screen, said apparatus comprising:

a refresh memory having addressable storage locations;

means for addressing said storage locations on a refresh basis;

means for writing codes at addressed storage locations which are indicated by a cursor and means for reading said addressed codes;

a keyboard having a plurality of keys each of which is labeled with a single differently sloped incremental vector;

encoding means responsive to the actuation of each of said keys to provide a code indicative of the corresponding vector slope to said write means for storage at said cursor indicated storage location, the vector code associated with a newly actuated vector key being written into the refresh memory before another key is actuated;

cursor indicating means for providing said cursor indication and for changing the storage location indicated by the cursor in response to the actuation of each key;

display means including a. means responsive to the reading of said stored vector codes for displaying the associated vectors on the screen;

. means responsive to each addressing of the cursor indicated storage location to display'a visible cursor marker on the screen which becomes displaced from one screen location to another in response to each vector key actuation in a direction corresponding to the vector slope associated with the actuated key.

2. The invention according to claim 1 wherein said keyboard further includes a switch having first and second states which enable and inhibit, respectively,

the visible display of vectors by said vector display means in response to the actuation of said vector keys.

3. The invention according to claim 2 wherein said vector and cursor display means include a buffer register for holding each code as it is read from the memory;

a deflection circuit responsive to each code held in said register to produce X and Y deflection signals indicative of the corresponding vector slopes;

an unblank circuit responsive to each code held in said register to produce an intensity control signal; and

means for applying said intensity control signal and said X and Y deflection signals to said cathode ray tube.

4. The inventioniaccording to claim 3 and further including a timing control for establishing a vector code-interval and for producing a plurality of timing signals during said interval; and

means responsive to at leastoneof said timing signals wherein said cursor is a code of unique value stored in said memory;

wherein said cursor display means further includes means responsive to said cursor code when held by said buffer register to inhibit'said unblank gating net and to produce a save the cursor signal, which enables said gating net during the next succeeding code interval whereby the visible cursor marker has a slope determined by the code in said register during the code interval next succeeding the cursor code.

7. The invention according to claim 1 wherein said vector and cursor display means includes a buffer register for holding each code as it is read from the memory;

a deflection circuit responsive to each code held in said register to produce X and Y deflection signals indicative of the corresponding vector slopes;

an unblank circuit responsive to each code held in said register to produce an intensity control signal; and

means for applying said intensity control signal and said X and Y deflection signals to said cathode ray tube.

8. The invention according to claim 7 and further including a timing control for establishing a vector code interval and for producing a plurality of timing signals during said interval; and

means responsive to at least one of said timing signals to produce a vector draw signal which enables both said unblank circuit and said deflection circuit to produce their respective intensity and deflection signals.

9. The invention according to claim 8 wherein said unblank circuit includes an unblank gating net which receives said vector draw signal to produce said intensity control signal.

10. The invention according to claim 9 I wherein empty storage locations in the memory contain a null code;

wherein said keyboard means further includes keys labeled with editing characters;

wherein said encoding means also responds to the actuation of said editing keys to provide editing codes to the write means for storage at said cursor indicated storage locations;

wherein said vector draw signal producing means also produces a chopped vector draw signal having a narrower width than that of the vector draw signal; I

wherein said display means further includes means responsive to any of said null and editing codes in said buffer register for producing a control signal;

wherein said unblank gating net responds to the coinactuation of said editing keys to provide editingcodes to 'thewrite means for storage at the cursor indicated locations; wherein said cursor display means further responds to the reading of the vector, editing and null codes at the cursor indicated locations to visually display the cursor as a vector having a slope determined by the code stored thereat. 

1. Keyboard operated display apparatus in which an operator causes the displacement of a visible cursor marker on a cathode ray tube screen by actuating the keyboard keys in a selected sequence so as to form a pattern on the screen, said apparatus comprising: a refresh memory having addressable storage locations; means for addressing said storage locations on a refresh basis; means for writing codes at addressed storage locations which are indicated by a cursor and means for reading said addressed codes; a keyboard having a plurality of keys each of which is labeled with a single differently sloped incremental vector; encoding means responsive to the actuation of each of said keys to provide a code indicative of the corresponding vector slope to said write means for storage at said cursor indicated storage location, the vector code associated with a newly actuated vector key being written into the refresh memory before another key is actuated; cursor indicating means for providing said cursor indication and for changing the storage location indicated by the cursor in response to the actuation of each key; display means including a. means responsive to the reading of said stored vector codes for displaying the associated vectors on the screen; b. means responsive to each addressing of the cursor indicated storage location to display a visible cursor marker on the screen which becomes displaced from one screen location to another in response to each vector key actuation in a direction corresponding to the vector slope associated with the actuated key.
 2. The invention according to claim 1 wherein said keyboard further includes a switch having first and second states which enable and inhibit, respectively, the visible display of vectors by said vector display means in response to the actuation of said vector keys.
 3. The invention according to claim 2 wherein said vector and cursor display means include a buffer register for holding each code as it is read from the memory; a deflection circuit responsive to each code held in said register to produce X and Y deflection signals indicative of the corresponding vector slopes; an unblank circuit responsive to each code held in said register to produce an intensity control signal; and means for applying said intensity control signal and said X and Y deflection signals to said cathode ray tube.
 4. The invention according to claim 3 and further including a timing control for establishing a vector code interval and for producing a plurality of timing signals during said interval; and means responsive to at least one of said timing signals to produce a vector draw signal which enables both said unblank circuit and said deflection circuit to produce their respective intensity and deflection signals.
 5. The invention according to claim 4 wherein said unblank circuit includes an unblank gating net which receives said vector draw signal to produce said intensity control signal.
 6. The invention according to claim 5 wherein said cursor is a code of unique value stored in said memory; wherein said cursor display means further includes means responsive to said cursor code when held by said buffer register to inhibit said unblank gating net and to produce a save the cursor signal, which enables said gating net during the next succeeding code interval whereby the visible cursor marker has a slope determined by the code in said register during the code interval next succeeding the cursor code.
 7. The invention according to claim 1 wherein said vector and cursor display means includes a buffer register for holding each code as it is read from the memory; a deflection circuit responsive to each code held in said register to produce X and Y deflection signals indicative of the corresponding vector slopes; an unblank circuit responsive to each code held in said register to produce an intensity control signal; and means for applying said intensity control signal and said X and Y deflection signals to said cathode ray tube.
 8. The invention according to claim 7 and further including a timing control for establishing a vector code interval and for producing a plurality of timing signals during said interval; and means responsive to at least one of said timing signals to produce a vector draw signal which enables both said unblank circuit and said deflection circuit to produce their respective intensity and deflection signals.
 9. The invention according to claim 8 wherein said unblank circuit includes an unblank gating net which receives said vector draw signal to produce said intensity control signal.
 10. The invention according to claim 9 wherein empty storage locations in the memory contain a null code; wherein said keyboard means further includes keys labeled with editing characters; wherein said encoding means also responds to the actuation of said editing keys to provide editing codes to the write means for storage at said cursor indicated storage locations; wherein said vector draw signal producing means also produces a chopped vector draw signal having a narrower width than that of the vector draw signal; wherein said display means further includes means responsive to any of said null and editing codes in said buffer register for producing a control signal; wherein said unblank gating net responds to the coincidence of said control signal and said save the cursor signal to pass said chopped vector draw signal.
 11. Display apparatus as set forth in claim 2 wherein empty storage locations in the memory contain a null code; wherein said keyboard further includes keys labeled with editing characters; wherein said encoding means further responds to the actuation of said editing keys to provide editing codes to the write means for storage at the cursor indicated locations; wherein said cursor display means further responds to the reading of the vector, editing and null codes at the cursor indicated locations to visually display the cursor as a vector having a slope determined by the code stored thereat. 